I-Code-Bus, D-Code-Bus有什么区别?它们在如何取指令和数据

🔍 溯源 ✍️ Jack | 📅 2025-05-29 | 👍 2 | 原帖↗
#知识星球 #立芯嵌入式 #来源/立芯星球 #技术/C语言 #技术/ARM体系结构 #质量/普通

原帖 | Jack | 2025-05-29 22:17 | 👍2 | 阅读约1

I-Code-Bus, D-Code-Bus有什么区别?它们在如何取指令和数据?

I-Code-Bus,主要是纯粹的将指令从Flash或SRAM中取出送到Decode进行译码,然后进入ALU中进行运算,ALU运算完后会去更新LR,PC等。比如,ADD A1, A2, #1 这样的汇编指令。

 PS:为什么说SRAM中也能取指令?因为在启动时,可以将SRAM将映射到0x00000000地址,从而进入到I-Code-Bus的访问空间里。这个应用在下载算法时会有应用。

D-Code-Bus,主要是从Flash中取出数据,比如const常量,存入内部通用寄存器,比如R1, R2等,但不包括PC, LR。

知识总结


相关笔记